﻿using BCCommon.Enums;
using System;
using System.Collections.Generic;
using System.Text;

namespace BCEntity.MakeStaticPagingComponent.PageTemplate
{
    /// <summary>
    /// 页面模板
    /// </summary>
    public class PageTemplateEntity
    {
        /// <summary>
        /// 页面模板Id
        /// </summary>
        public long PageTemplateId { get; set; }
        /// <summary>
        /// 网站模板Id
        /// </summary>
        public int WebsiteTemplateId { get; set; }

        /// <summary>
        /// 页面名称
        /// </summary>
        public string PageName { get; set; }
        /// <summary>
        /// 页面编码
        /// </summary>
        public string PageCode { get; set; }
        /// <summary>
        /// 页面地址名称
        /// </summary>
        public string PageUrlName { get; set; }
        /// <summary>
        /// 页面Html路径
        /// </summary>
        public string PageHtmlPath { get; set; }
        /// <summary>
        /// 页面Html
        /// </summary>
        public string PageHtml { get; set; }
        /// <summary>
        /// 页面数据定义文本
        /// </summary>
        public string PageDefine { get; set; }
        /// <summary>
        /// 页面关键字（SEO使用）
        /// </summary>
        public string PageKeyword { get; set; }
        /// <summary>
        /// 页面描述（SEO使用）
        /// </summary>
        public string PageDescription { get; set; }
        /// <summary>
        /// 已使用
        /// </summary>
        public bool IsUsed { get; set; }
        
        /// <summary>
        /// 父级页面编码
        /// </summary>
        public string ParentPageCode { get; set; }
        /// <summary>
        /// 父级页面名称
        /// </summary>
        public string ParentPageName { get; set; }
        /// <summary>
        /// 页面级别
        /// </summary>
        public int PageLevel { get; set; }
        /// <summary>
        /// 页面同级别显示顺序
        /// </summary>
        public int PageIndex { get; set; }

        /// <summary>
        /// 页面级别树形码
        /// </summary>
        public string PageLevelCode { get; set; }
        /// <summary>
        /// 是否为内容页
        /// </summary>
        public bool IsContentPage { get; set; }
        /// <summary>
        /// 是否为分页列表页
        /// </summary>
        public bool IsPagingListPage { get; set; }
        /// <summary>
        /// 是否为系统模板
        /// </summary>
        public bool IsSystem { get; set; }
        /// <summary>
        /// 内容页页面编码
        /// </summary>
        public string ContentPageCode { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime UpdateTime { get; set; }
        /// <summary>
        /// 存在子级页面
        /// （仅在分级列表中使用当前字段）
        /// </summary>
        public bool? IsParent { get; set; }
        /// <summary>
        /// 分页列表页服务标签
        /// </summary>
        public string PagingListServiceTag { get; set; }
        /// <summary>
        /// 分页列表页服务标签参数(用于获取分页方法总条数的方法)
        /// </summary>
        public string PagingListServiceParams { get; set; }
        /// <summary>
        /// 系统服务列表Id
        /// </summary>
        public int? SystemServiceListingId { get; set; }
        /// <summary>
        /// 子节点信息
        /// </summary>
        public List<PageTemplateEntity> Children { get; set; }
        /// <summary>
        /// 分页总数（生成引擎计算）
        /// </summary>
        public int TotalPageCount { get; set; }
        /// <summary>
        /// 分页每页数量
        /// </summary>
        public int? ListSize { get; set; }
        /// <summary>
        /// 当前页序号（生成引擎使用）
        /// </summary>
        public int CurrentlyPageNumber { get; set; }
    }
}
